package fulbiNet.negocio;

import java.util.Collection;

import fulbiNet.dao.AlquilerDAO;
import fulbiNet.execpcion.DAOExcepcion;
import fulbiNet.modelo.Alquiler;
import fulbiNet.modelo.Servicio;

public class ReservaNegocio {

	public void insertarAlquiler(Alquiler vo) throws DAOExcepcion {
		
		AlquilerDAO dao = new AlquilerDAO();
		
		try
		{
			//Se valida si la cancha ya fue reservada en ese horario
			Collection<Alquiler> lAlquiler = dao.buscarReservada(vo);
			
			if (lAlquiler.size() > 0)
				throw new DAOExcepcion("La cancha ya se encuentra reservada");
			
			//Se inserta la cabecera del alquiler
			dao.insertar(vo);
			
			//Se insertan los servicios adicionales
			Collection<Servicio> lServicio = vo.getlServicio();
			
			if (lServicio != null)
				for (Servicio servicio : lServicio)
					dao.insertarDetalle(vo, servicio);
		}
		catch (DAOExcepcion e)
		{
			throw e;
		}
	}
	
}
